package br.com.DAO;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import br.com.MODEL.ConsultaGeral;

public class ConsultaGeralDAO {
	public static ArrayList<ConsultaGeral> getlistaGeral() {
		SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy");
		try {
			// criando array de list para armazenar a buscar
			ArrayList<ConsultaGeral> listageral = null;
			listageral = new ArrayList<ConsultaGeral>();

			ConnectionFactory.getConnection();// criou a conexao
			// cria um PreparedStatement para executar o sql
			PreparedStatement stmt = ConnectionFactory
					.getConnection()
					.prepareStatement(
				 "select distinct laudos_obs.exameid,laudos_obs.laudoid,exame.descricao,laudos.data_entrega "
				 + "from laudos_obs,exame,laudos "
				 + "where laudos_obs.foto is not null "
				 + "and laudos_obs.exameid = exame.exameid "
				 + "and laudos.data_entrega is "
				 + "not null "
				 + "and laudos_obs.texto is null ");
			// cria o ResultSet ou seja o resultado do sql(Pesquisa)
			ResultSet rs = stmt.executeQuery();

			while (rs.next()) {
				// jogou no construtor vazio da classe Exame
				ConsultaGeral consultageral = new ConsultaGeral(
						rs.getString("descricao"), rs.getInt("laudoid"),
						dt.format(rs.getDate("data_entrega")),
						rs.getInt("exameid"));
				// adicionar objeto a lista
				listageral.add(consultageral);
			}
			rs.close();// fechou o resultset
			stmt.close();// fechou o preparedStament
			return listageral;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}

	}
}
